﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using app_inventario.AccesoDatos;

namespace app_inventario.LogicaNegocio
{
    public static class admUsuario
    {
        public static Usuario BuscaUsuario(string busqueda) 
        {
            InventarioEntities bd =new InventarioEntities();
            return bd.Usuario.SingleOrDefault(u=> u.Nombre==busqueda);
        }
        public static Modulo BuscaModulo(string busqueda)
        {
            InventarioEntities bd = new InventarioEntities();
            return bd.Modulo.SingleOrDefault(m => m.Descripcion == busqueda);
        }
        public static bool validaUsuario(string nombre, string clave)
        {
            InventarioEntities bd = new InventarioEntities();
            return bd.Usuario.Any(u=> u.Nombre==nombre && u.Clave==clave);
        }
        public static string IngresaUsuario(string nombre,string clave, int id_modulo)
        {
            InventarioEntities bd = new InventarioEntities();
            var user = BuscaUsuario(nombre);
            if (user != null)
            {
                string mensaje = "El Usuario ya existe";
                return mensaje;
            }
            else
            {
                Usuario nuevousuario = new Usuario
                {
                    Nombre = nombre,
                    Clave = clave,
                    ID_modulo = id_modulo
                };
                bd.Usuario.Add(nuevousuario);
                bd.SaveChanges();
                string mensaje = "Usuario Ingresado";
                return mensaje;
            }

        }
        public static string ActualizarUsuario(string nombre,string clave)
        {
            InventarioEntities bd = new InventarioEntities();
            Usuario actualizaUs = bd.Usuario.SingleOrDefault(u => u.Nombre == nombre);
            actualizaUs.Clave = clave;
            bd.SaveChanges();
            string mensaje = "Datos actualizados";
            return mensaje;
        }
        public static string EliminaUsuario(int id)
        {
            InventarioEntities bd = new InventarioEntities();
            Usuario eliminaUs = bd.Usuario.SingleOrDefault(u => u.ID_usuario == id);
            bd.Usuario.Remove(eliminaUs);
            bd.SaveChanges();
            string mensaje = "Usuario borrado";
            return mensaje;

        }
    }
}
